On-line communications have become an increasingly important aspect of people's lives. These communications can take many forms, including explicit person-to-person communication such as email, instant messaging, or other forms of sending electronic messages; communication with on-line services such as web sites, email servers, and other Internet Service Provider (“ISP”) services; and communication with local and remote devices, such as printers, scanners, or fax machines on a home network or, for example, on-line phones, cameras, PDAs, and other portable computers or devices.
Managing and communicating with the morass of types of devices and connections has become difficult and not very “user-friendly” to a casual, or not necessarily technically savvy, user. Interfaces to devices are inconsistent, and the requirements for accessing services are not uniform or even well-known. In a typical conventional computing environment, a user conducts such communications by locating a user interface (“UI”) associated with the desired target or task, figuring out how to use it, and then invoking it to conduct the desired communication. For example, to set up access to or to change default properties associated with access to a particular printer, a user is forced to find and invoke a “setup” tool (e.g., a printer configuration tool) from a user interface presented by the underlying operating system, for example the Microsoft Windows™ “desktop.” The setup tool displays a series of dialog boxes or other windows, whose user interface controls are dedicated to interacting with the target printer. The user is then forced to find the correct control, dialog, or other UI component to perform a desired operation. If the user can locate the appropriate user interface, recognize it as the needed one, and find the appropriate specific component to invoke, then the user can perform the desired task. However, for many users, management tools such as this one are impenetrable black boxes with limited options for control and little instruction.
One reason for these difficulties is that the current metaphor for operating system user interfaces for personal computers is typically an “office” desktop or derivative thereof. The desktop metaphor was developed in the 1970's and was originally targeted to the office automation market. However, the office automation environment for which these user interfaces were designed no longer represents a reasonable facsimile of or metaphor for how many people today incorporate computers in everyday life.